package src.example.商场收银系统.v2;

/**
 * 工厂类，用于创建具体的对象执行具体的方法
 *
 * 这种方法也有一个弊端，就是不能够灵活创建打几折这种活动
 * 例如我现在需要打7折，那我就需要再增加
 * case "打7折"：
 *      cashSuper=new CashRebate(0.7);
 * 这样显然也不是很合理
 */
public class CashFactory  {

    public static src.example.商场收银系统.v2.CashSuper generate(String type){
        src.example.商场收银系统.v2.CashSuper cashSuper=null;
        switch (type){
            case "打8折":
                cashSuper=new src.example.商场收银系统.v2.CashRebate(0.8);
                break;
            case "正常收费":
                cashSuper=new src.example.商场收银系统.v2.CashNormal();
                break;
        }
        return cashSuper;
    }

    /** 根据反射去创建对象 **/
}
